/**
  ******************************************************************************
  * @file    dev_valve.h
  * @brief
  * @author  zp
  * @version V1.0.0
  * @date    2024/01/29
  ******************************************************************************
  */

#ifndef __DEV_VALVE_H__
#define __DEV_VALVE_H__


/* Includes ------------------------------------------------------------------*/

/* Bsp includes. */

/* Os includes. */

/* User includes. */

/* Public macro --------------------------------------------------------------*/

/* Private macro -------------------------------------------------------------*/

/* Type defines --------------------------------------------------------------*/

/* Private variables ---------------------------------------------------------*/

/* Private Enum --------------------------------------------------------------*/
typedef enum {
    SVALVE1,
    SVALVE2,
    SVALVE3,
    SVALVE4,
    SVALVE5,
    SVALVE6,
    SVALVE7,
    SVALVE8,
    SVALVE9,
    SVALVE10,
    SVALVE11,
    SVALVE12,
    SVALVE13,
	SVALVE14,

    SVALVE_INF,
    SVALVE_PUMP,


    SVALVE_MAX
}ValveIndex_e;

/* Private Union -------------------------------------------------------------*/

/* Private Struct ------------------------------------------------------------*/

typedef struct dev_valve_tag dev_valve_t;

struct dev_valve_tag{
	
	void(*init)(dev_valve_t*);
	void(*set)(dev_valve_t*,uint8_t);
	void(*reset)(dev_valve_t*,uint8_t);
};

/* Pubilc function prototypes ------------------------------------------------*/
dev_valve_t* DevValve_GetInstance(void);


#endif // __DEV_VALVE_H__


